This just shows a brief example of how you can start a game and trigger turns to progress.
library(MundusCentrum)
game <- new_game(
name = "Anno Uno",
players = list(
list(
name = "Big Grizz",
team = "Space Marines",
units = system.file("extdata", "unit-templates", "big_grizz.csv", package = "MundusCentrum")
),
list(
name = "Eric",
team = "Space Orcs",
units = system.file("extdata", "unit-templates", "eric.csv", package = "MundusCentrum")
),
list(
name = "Chris",
team = "Tyrannids",
units = system.file("extdata", "unit-templates", "chris.csv", package = "MundusCentrum")
)
),
points = 2000
)
## All units resolved.
This is the state of the game at the beginning
res <- reconcile_player_orders(game)
## All units resolved.
print(draw_map(res))
knitr::kable(res)
| player | loc | action | unit_name | unit_type | force_org |
|---|---|---|---|---|---|
| big_grizz | A1 | hold | Amir Dixon | lt_dan | troop |
| big_grizz | A1 | hold | Juliana Wu | lt_dan | troop |
| big_grizz | A1 | hold | Mateo Hunt | lt_dan | troop |
| big_grizz | A1 | hold | Mila Foster | lt_dan | troop |
| big_grizz | A1 | hold | Vanessa Richards | lt_dan | troop |
| big_grizz | A2 | hold | Insane Beggar | steve_zissou | elite |
| big_grizz | A2 | hold | Ashley Mendez | cptn_steve_hiller_usmc | troop |
| big_grizz | A3 | hold | Respected Artist | keyser_soze | elite |
| big_grizz | A4 | hold | Olivia Newton-John | maverick | flyer |
| big_grizz | A5 | hold | Ariana Grande | maverick | flyer |
| big_grizz | A6 | hold | Robert Pirsig Mcdonald | mule | transport |
| big_grizz | A6 | hold | Anna Larson | cptn_steve_hiller_usmc | troop |
| big_grizz | A6 | hold | Izabella Thomas | lt_dan | troop |
| big_grizz | A6 | hold | Jordyn Barnett | lt_dan | troop |
| big_grizz | A6 | hold | Maxwell Davis | lt_dan | troop |
| eric | C1 | hold | Robert Fisk | rambo | heavy |
| eric | C1 | hold | Dominique Lapierre Bryant | mule | transport |
| eric | C1 | hold | V S Naipaul May | mule | transport |
| eric | C1 | hold | Caleb Rojas | lt_dan | troop |
| eric | C1 | hold | Ivan Jordan | lt_dan | troop |
| eric | C1 | hold | Quinn Johnston | lt_dan | troop |
| eric | C2 | hold | Bing Crosby | ricky_bobby | fast |
| eric | C2 | hold | Paul Bettany | ricky_bobby | fast |
| eric | C3 | hold | Frank Kafka | charlie_kaufman | heavy |
| eric | C4 | hold | Phantom Mercenary | steve_zissou | elite |
| eric | C4 | hold | Daft Punk | maverick | flyer |
| eric | C5 | hold | Amateur Bandit | rocketman | elite |
| eric | C5 | hold | Quiet Wanderer | rocketman | elite |
| chris | F1 | hold | Alfred Stonier Flores | mule | transport |
| chris | F1 | hold | David Niven Fuentes | mule | transport |
| chris | F1 | hold | Vladimir Vapnik Fisher | mule | transport |
| chris | F1 | hold | Adrian Walker | lt_dan | troop |
| chris | F1 | hold | Everett Marquez | lt_dan | troop |
| chris | F1 | hold | Jayden Roman | lt_dan | troop |
| chris | F1 | hold | Katelyn Malone | lt_dan | troop |
| chris | F1 | hold | Nova Mullins | lt_dan | troop |
| chris | F1 | hold | Sadie Mclaughlin | lt_dan | troop |
| chris | F2 | hold | Samuel Huntington | charlie_kaufman | heavy |
| chris | F2 | hold | Frederick Forsyth Francis | mule | transport |
| chris | F2 | hold | Nate Silver Curtis | mule | transport |
| chris | F2 | hold | Andrew Holland | lt_dan | troop |
| chris | F2 | hold | Giovanni Hammond | lt_dan | troop |
| chris | F2 | hold | Jace Ramos | lt_dan | troop |
| chris | F2 | hold | Kaleb Stephens | lt_dan | troop |
| chris | F2 | hold | Silas Palmer | lt_dan | troop |
| chris | F2 | hold | Sophie Mann | lt_dan | troop |
| chris | F3 | hold | Ruff Man | steve_zissou | elite |
| chris | F6 | hold | Bob Newhart | maverick | flyer |
Get a list of unit ID’s to easily make the move_unit() calls below.
moby_units <- read_player_map(game, "big_grizz") %>% pull(unit_name)
eric_units <- read_player_map(game, "eric") %>% pull(unit_name)
chris_units <- read_player_map(game, "chris") %>% pull(unit_name)
Players change their maps (making orders)
move_unit(game, "big_grizz", moby_units[1:5], "move", "E2")
move_unit(game, "big_grizz", moby_units[6:7], "control","A2")
move_unit(game, "big_grizz", moby_units[11:15], "control","A6")
move_unit(game, "eric", eric_units[1:6], "move", "F7")
move_unit(game, "eric", eric_units[9], "control","C3")
move_unit(game, "eric", eric_units[10:11], "control","C3")
move_unit(game, "chris", chris_units[1:9], "control","F1")
move_unit(game, "chris", chris_units[10:18],"move", "F3")
move_unit(game, "chris", chris_units[19], "sneak", "E5")
move_unit(game, "chris", chris_units[20], "soar", "D4")
Reconcile moves.
res <- reconcile_player_orders(game)
## All units resolved.
print(draw_map(res))
knitr::kable(res)
| player | loc | action | unit_name | unit_type | force_org |
|---|---|---|---|---|---|
| big_grizz | A2 | control | Insane Beggar | steve_zissou | elite |
| big_grizz | A2 | control | Ashley Mendez | cptn_steve_hiller_usmc | troop |
| big_grizz | A3 | hold | Respected Artist | keyser_soze | elite |
| big_grizz | A4 | hold | Olivia Newton-John | maverick | flyer |
| big_grizz | A5 | hold | Ariana Grande | maverick | flyer |
| big_grizz | A6 | control | Robert Pirsig Mcdonald | mule | transport |
| big_grizz | A6 | control | Anna Larson | cptn_steve_hiller_usmc | troop |
| big_grizz | A6 | control | Izabella Thomas | lt_dan | troop |
| big_grizz | A6 | control | Jordyn Barnett | lt_dan | troop |
| big_grizz | A6 | control | Maxwell Davis | lt_dan | troop |
| eric | C2 | hold | Bing Crosby | ricky_bobby | fast |
| eric | C2 | hold | Paul Bettany | ricky_bobby | fast |
| eric | C3 | control | Phantom Mercenary | steve_zissou | elite |
| eric | C3 | control | Daft Punk | maverick | flyer |
| eric | C3 | control | Frank Kafka | charlie_kaufman | heavy |
| eric | C5 | hold | Amateur Bandit | rocketman | elite |
| eric | C5 | hold | Quiet Wanderer | rocketman | elite |
| chris | D4 | soar | Bob Newhart | maverick | flyer |
| big_grizz | E2 | move | Amir Dixon | lt_dan | troop |
| big_grizz | E2 | move | Juliana Wu | lt_dan | troop |
| big_grizz | E2 | move | Mateo Hunt | lt_dan | troop |
| big_grizz | E2 | move | Mila Foster | lt_dan | troop |
| big_grizz | E2 | move | Vanessa Richards | lt_dan | troop |
| chris | E5 | sneak | Ruff Man | steve_zissou | elite |
| chris | F1 | control | Alfred Stonier Flores | mule | transport |
| chris | F1 | control | David Niven Fuentes | mule | transport |
| chris | F1 | control | Vladimir Vapnik Fisher | mule | transport |
| chris | F1 | control | Adrian Walker | lt_dan | troop |
| chris | F1 | control | Everett Marquez | lt_dan | troop |
| chris | F1 | control | Jayden Roman | lt_dan | troop |
| chris | F1 | control | Katelyn Malone | lt_dan | troop |
| chris | F1 | control | Nova Mullins | lt_dan | troop |
| chris | F1 | control | Sadie Mclaughlin | lt_dan | troop |
| chris | F3 | move | Samuel Huntington | charlie_kaufman | heavy |
| chris | F3 | move | Frederick Forsyth Francis | mule | transport |
| chris | F3 | move | Nate Silver Curtis | mule | transport |
| chris | F3 | move | Andrew Holland | lt_dan | troop |
| chris | F3 | move | Giovanni Hammond | lt_dan | troop |
| chris | F3 | move | Jace Ramos | lt_dan | troop |
| chris | F3 | move | Kaleb Stephens | lt_dan | troop |
| chris | F3 | move | Silas Palmer | lt_dan | troop |
| chris | F3 | move | Sophie Mann | lt_dan | troop |
| eric | F7 | move | Robert Fisk | rambo | heavy |
| eric | F7 | move | Dominique Lapierre Bryant | mule | transport |
| eric | F7 | move | V S Naipaul May | mule | transport |
| eric | F7 | move | Caleb Rojas | lt_dan | troop |
| eric | F7 | move | Ivan Jordan | lt_dan | troop |
| eric | F7 | move | Quinn Johnston | lt_dan | troop |
Take a look at what individual players can see. Here’s Chris’ map:
draw_map(res, "chris")
We’re good! Move on to the next turn. (Note: Moby managed to teleport from A1 to E2 aka The Gates of Moria on his first turn.)
Players change their maps (making orders)
move_unit(game, "big_grizz", moby_units[1:5], "move", "F1")
move_unit(game, "eric", eric_units[1:6], "move", "F4")
move_unit(game, "chris", chris_units[10:18],"move", "F4")
move_unit(game, "chris", chris_units[19], "sneak","E7")
move_unit(game, "chris", chris_units[20], "soar", "B1")
Attempt to reconcile moves.
res <- reconcile_player_orders(game)
## CONFLICT(s):
## Warning: Conflict is at hand! Please resolve territorial disputes.
print(draw_map(res, "CONFLICT!"))
knitr::kable(res)
| player | loc | action | unit_name | unit_type | force_org |
|---|---|---|---|---|---|
| big_grizz | F1 | move | Amir Dixon | lt_dan | troop |
| big_grizz | F1 | move | Juliana Wu | lt_dan | troop |
| big_grizz | F1 | move | Mateo Hunt | lt_dan | troop |
| big_grizz | F1 | move | Mila Foster | lt_dan | troop |
| big_grizz | F1 | move | Vanessa Richards | lt_dan | troop |
| chris | F1 | control | Alfred Stonier Flores | mule | transport |
| chris | F1 | control | David Niven Fuentes | mule | transport |
| chris | F1 | control | Vladimir Vapnik Fisher | mule | transport |
| chris | F1 | control | Adrian Walker | lt_dan | troop |
| chris | F1 | control | Everett Marquez | lt_dan | troop |
| chris | F1 | control | Jayden Roman | lt_dan | troop |
| chris | F1 | control | Katelyn Malone | lt_dan | troop |
| chris | F1 | control | Nova Mullins | lt_dan | troop |
| chris | F1 | control | Sadie Mclaughlin | lt_dan | troop |
| chris | F4 | move | Samuel Huntington | charlie_kaufman | heavy |
| chris | F4 | move | Frederick Forsyth Francis | mule | transport |
| chris | F4 | move | Nate Silver Curtis | mule | transport |
| chris | F4 | move | Andrew Holland | lt_dan | troop |
| chris | F4 | move | Giovanni Hammond | lt_dan | troop |
| chris | F4 | move | Jace Ramos | lt_dan | troop |
| chris | F4 | move | Kaleb Stephens | lt_dan | troop |
| chris | F4 | move | Silas Palmer | lt_dan | troop |
| chris | F4 | move | Sophie Mann | lt_dan | troop |
| eric | F4 | move | Robert Fisk | rambo | heavy |
| eric | F4 | move | Dominique Lapierre Bryant | mule | transport |
| eric | F4 | move | V S Naipaul May | mule | transport |
| eric | F4 | move | Caleb Rojas | lt_dan | troop |
| eric | F4 | move | Ivan Jordan | lt_dan | troop |
| eric | F4 | move | Quinn Johnston | lt_dan | troop |
This is where the players would resolved fights however they see fit (e.g. Warhammer, chessboxing, what-have-you)
Then they adjust their maps accordingly for the outcome of the conflicts.
move_unit(game, "eric", eric_units[1:6], "retreat", "F7")
move_unit(game, "chris", chris_units[1:9], "retreat", "F2")
Now we reconcile again.
res <- reconcile_player_orders(game)
## All units resolved.
print(draw_map(res))
knitr::kable(res)
| player | loc | action | unit_name | unit_type | force_org |
|---|---|---|---|---|---|
| big_grizz | A2 | control | Insane Beggar | steve_zissou | elite |
| big_grizz | A2 | control | Ashley Mendez | cptn_steve_hiller_usmc | troop |
| big_grizz | A3 | hold | Respected Artist | keyser_soze | elite |
| big_grizz | A4 | hold | Olivia Newton-John | maverick | flyer |
| big_grizz | A5 | hold | Ariana Grande | maverick | flyer |
| big_grizz | A6 | control | Robert Pirsig Mcdonald | mule | transport |
| big_grizz | A6 | control | Anna Larson | cptn_steve_hiller_usmc | troop |
| big_grizz | A6 | control | Izabella Thomas | lt_dan | troop |
| big_grizz | A6 | control | Jordyn Barnett | lt_dan | troop |
| big_grizz | A6 | control | Maxwell Davis | lt_dan | troop |
| chris | B1 | soar | Bob Newhart | maverick | flyer |
| eric | C2 | hold | Bing Crosby | ricky_bobby | fast |
| eric | C2 | hold | Paul Bettany | ricky_bobby | fast |
| eric | C3 | control | Phantom Mercenary | steve_zissou | elite |
| eric | C3 | control | Daft Punk | maverick | flyer |
| eric | C3 | control | Frank Kafka | charlie_kaufman | heavy |
| eric | C5 | hold | Amateur Bandit | rocketman | elite |
| eric | C5 | hold | Quiet Wanderer | rocketman | elite |
| chris | E7 | sneak | Ruff Man | steve_zissou | elite |
| big_grizz | F1 | move | Amir Dixon | lt_dan | troop |
| big_grizz | F1 | move | Juliana Wu | lt_dan | troop |
| big_grizz | F1 | move | Mateo Hunt | lt_dan | troop |
| big_grizz | F1 | move | Mila Foster | lt_dan | troop |
| big_grizz | F1 | move | Vanessa Richards | lt_dan | troop |
| chris | F2 | retreat | Alfred Stonier Flores | mule | transport |
| chris | F2 | retreat | David Niven Fuentes | mule | transport |
| chris | F2 | retreat | Vladimir Vapnik Fisher | mule | transport |
| chris | F2 | retreat | Adrian Walker | lt_dan | troop |
| chris | F2 | retreat | Everett Marquez | lt_dan | troop |
| chris | F2 | retreat | Jayden Roman | lt_dan | troop |
| chris | F2 | retreat | Katelyn Malone | lt_dan | troop |
| chris | F2 | retreat | Nova Mullins | lt_dan | troop |
| chris | F2 | retreat | Sadie Mclaughlin | lt_dan | troop |
| chris | F4 | move | Samuel Huntington | charlie_kaufman | heavy |
| chris | F4 | move | Frederick Forsyth Francis | mule | transport |
| chris | F4 | move | Nate Silver Curtis | mule | transport |
| chris | F4 | move | Andrew Holland | lt_dan | troop |
| chris | F4 | move | Giovanni Hammond | lt_dan | troop |
| chris | F4 | move | Jace Ramos | lt_dan | troop |
| chris | F4 | move | Kaleb Stephens | lt_dan | troop |
| chris | F4 | move | Silas Palmer | lt_dan | troop |
| chris | F4 | move | Sophie Mann | lt_dan | troop |
| eric | F7 | retreat | Robert Fisk | rambo | heavy |
| eric | F7 | retreat | Dominique Lapierre Bryant | mule | transport |
| eric | F7 | retreat | V S Naipaul May | mule | transport |
| eric | F7 | retreat | Caleb Rojas | lt_dan | troop |
| eric | F7 | retreat | Ivan Jordan | lt_dan | troop |
| eric | F7 | retreat | Quinn Johnston | lt_dan | troop |
We’re good. On to turn 3.
Players change their maps (making orders)
move_unit(game, "big_grizz", moby_units[1:5], "defend", "F1")
move_unit(game, "big_grizz", moby_units[6:7], "move", "A3")
move_unit(game, "big_grizz", moby_units[11:15], "move", "A7")
move_unit(game, "big_grizz", moby_units[11:15], "move", "A5")
move_unit(game, "eric", eric_units[1:6], "defend", "F7")
move_unit(game, "eric", eric_units[7:8], "move", "C5")
move_unit(game, "eric", eric_units[11:12], "move", "D2")
move_unit(game, "chris", chris_units[10:17],"move", "F2")
move_unit(game, "chris", chris_units[18], "move", "E5")
move_unit(game, "chris", chris_units[20], "soar", "B6")
Attempt to reconcile moves.
res <- reconcile_player_orders(game)
## All units resolved.
print(draw_map(res))
knitr::kable(res)
| player | loc | action | unit_name | unit_type | force_org |
|---|---|---|---|---|---|
| big_grizz | A3 | hold | Respected Artist | keyser_soze | elite |
| big_grizz | A3 | move | Insane Beggar | steve_zissou | elite |
| big_grizz | A3 | move | Ashley Mendez | cptn_steve_hiller_usmc | troop |
| big_grizz | A4 | hold | Olivia Newton-John | maverick | flyer |
| big_grizz | A5 | hold | Ariana Grande | maverick | flyer |
| big_grizz | A5 | move | Robert Pirsig Mcdonald | mule | transport |
| big_grizz | A5 | move | Anna Larson | cptn_steve_hiller_usmc | troop |
| big_grizz | A5 | move | Izabella Thomas | lt_dan | troop |
| big_grizz | A5 | move | Jordyn Barnett | lt_dan | troop |
| big_grizz | A5 | move | Maxwell Davis | lt_dan | troop |
| chris | B6 | soar | Bob Newhart | maverick | flyer |
| eric | C3 | control | Phantom Mercenary | steve_zissou | elite |
| eric | C3 | control | Frank Kafka | charlie_kaufman | heavy |
| eric | C5 | hold | Quiet Wanderer | rocketman | elite |
| eric | C5 | move | Bing Crosby | ricky_bobby | fast |
| eric | C5 | move | Paul Bettany | ricky_bobby | fast |
| eric | D2 | move | Amateur Bandit | rocketman | elite |
| eric | D2 | move | Daft Punk | maverick | flyer |
| chris | E5 | move | Samuel Huntington | charlie_kaufman | heavy |
| chris | E7 | sneak | Ruff Man | steve_zissou | elite |
| big_grizz | F1 | defend | Amir Dixon | lt_dan | troop |
| big_grizz | F1 | defend | Juliana Wu | lt_dan | troop |
| big_grizz | F1 | defend | Mateo Hunt | lt_dan | troop |
| big_grizz | F1 | defend | Mila Foster | lt_dan | troop |
| big_grizz | F1 | defend | Vanessa Richards | lt_dan | troop |
| chris | F2 | move | Frederick Forsyth Francis | mule | transport |
| chris | F2 | move | Nate Silver Curtis | mule | transport |
| chris | F2 | move | Andrew Holland | lt_dan | troop |
| chris | F2 | move | Giovanni Hammond | lt_dan | troop |
| chris | F2 | move | Jace Ramos | lt_dan | troop |
| chris | F2 | move | Kaleb Stephens | lt_dan | troop |
| chris | F2 | move | Silas Palmer | lt_dan | troop |
| chris | F2 | move | Sophie Mann | lt_dan | troop |
| chris | F2 | retreat | Alfred Stonier Flores | mule | transport |
| chris | F2 | retreat | David Niven Fuentes | mule | transport |
| chris | F2 | retreat | Vladimir Vapnik Fisher | mule | transport |
| chris | F2 | retreat | Adrian Walker | lt_dan | troop |
| chris | F2 | retreat | Everett Marquez | lt_dan | troop |
| chris | F2 | retreat | Jayden Roman | lt_dan | troop |
| chris | F2 | retreat | Katelyn Malone | lt_dan | troop |
| chris | F2 | retreat | Nova Mullins | lt_dan | troop |
| chris | F2 | retreat | Sadie Mclaughlin | lt_dan | troop |
| eric | F7 | defend | Robert Fisk | rambo | heavy |
| eric | F7 | defend | Dominique Lapierre Bryant | mule | transport |
| eric | F7 | defend | V S Naipaul May | mule | transport |
| eric | F7 | defend | Caleb Rojas | lt_dan | troop |
| eric | F7 | defend | Ivan Jordan | lt_dan | troop |
| eric | F7 | defend | Quinn Johnston | lt_dan | troop |
No conflict here, but notice how everyone’s vision changes… [WORK IN PROGRESS]
Grizz
draw_map(res, "big_grizz")
Chris
draw_map(res, "chris")
Eric
draw_map(res, "eric")